package com.zatech.cgnci.project.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class PaymentStatementSaveOrUpDTO {

    @ApiModelProperty("结算单编号")
    private Long statementNumber;
    @ApiModelProperty("账单编号")
    private String invoiceNumber;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("收付方向")
    private String direction;

    @ApiModelProperty("账单接收人")
    private String billRecipient;

    @ApiModelProperty("账单币种")
    private String currency;

    @ApiModelProperty("结算总金额")
    private BigDecimal statementTotalAmount;

    @ApiModelProperty("账单状态")
    private String status;

    @ApiModelProperty("实收付日期")
    private Date actualPaymentDate;

    @ApiModelProperty("实收付总金额")
    private BigDecimal actualTotalAmount;

    @ApiModelProperty("汇兑损益汇总")
    private BigDecimal fxGainOrLoss;

    @ApiModelProperty("银行手续费汇总")
    private BigDecimal commission;

    @ApiModelProperty("营业外收入汇总")
    private BigDecimal otherIncome;

    @ApiModelProperty("汇总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty("UPM编号")
    private String upmNumber;

    @ApiModelProperty("付款币种")
    private String paymentCurrency;

    @ApiModelProperty("付款金额")
    private BigDecimal paymentAmount;

    @ApiModelProperty("结算币种兑付款币种汇率")
    private BigDecimal fxRate;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("收付费账单列表")
    private List<ReceiptPaymentBillsAddDTO> billsList;

    @ApiModelProperty("收付费账单列表")
    private ReceiptPaymentBillsAddDTO1 bill1;

    @ApiModelProperty("收款信息列表")
    private List<PaymentInformationUpdateDTO> PaymentInformationList;

    @ApiModelProperty(value = "文件清单")
    private List<CgnciAnnualInsurePlanSaveOrUpdateDTO.AccessoryDTO> accessoryDTOList;


    @Data
    public static class  ReceiptPaymentBillsAddDTO1{

        @ApiModelProperty("自增编号")
        private String ids;
        @ApiModelProperty("账单编号")
        private String invoiceNumber;
    }
}
